# Redis C++ Client Library Makefile


#CFLAGS?= -pedantic -O2 -Wall -DNEBUG -W
CFLAGS?= -pedantic -O0 -W -DDEBUG -g
CC = g++

#INCLUDE = -Istatement -Iexpr
VPATH = .:statement:expr

all: test

x.o: x.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLObjectImpl.o: SQLObjectImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLCommentHint.o: SQLCommentHint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLDataTypeImpl.o: SQLDataTypeImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLSelectOrderByItem.o: SQLSelectOrderByItem.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLOrderBy.o: SQLOrderBy.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLOver.o: SQLOver.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLStatementImpl.o: SQLStatementImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLExprTableSource.o: SQLExprTableSource.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropTableStatement.o: SQLDropTableStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropSequenceStatement.o: SQLDropSequenceStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropTriggerStatement.o: SQLDropTriggerStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropViewStatement.o: SQLDropViewStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropDatabaseStatement.o: SQLDropDatabaseStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropFunctionStatement.o: SQLDropFunctionStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropTableSpaceStatement.o: SQLDropTableSpaceStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropProcedureStatement.o: SQLDropProcedureStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLIdentifierExpr.o: SQLIdentifierExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLValuesClause.o: SQLValuesClause.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLInsertStatement.o: SQLInsertStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLWithSubqueryClause.o: SQLWithSubqueryClause.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLSelect.o: SQLSelect.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLInsertInto.o: SQLInsertInto.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLListExpr.o: SQLListExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLQueryExpr.o: SQLQueryExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLVariantRefExpr.o: SQLVariantRefExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@



SQLColumnDefinition.o: SQLColumnDefinition.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableAddColumn.o: SQLAlterTableAddColumn.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableAddConstraint.o: SQLAlterTableAddConstraint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableAddIndex.o: SQLAlterTableAddIndex.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableAlterColumn.o: SQLAlterTableAlterColumn.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableDisableConstraint.o: SQLAlterTableDisableConstraint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableDisableKeys.o: SQLAlterTableDisableKeys.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableDropColumnItem.o: SQLAlterTableDropColumnItem.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableDropConstraint.o: SQLAlterTableDropConstraint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableEnableConstraint.o: SQLAlterTableEnableConstraint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableEnableKeys.o: SQLAlterTableEnableKeys.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAlterTableStatement.o: SQLAlterTableStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAssignItem.o: SQLAssignItem.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCallStatement.o: SQLCallStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCommentStatement.o: SQLCommentStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCreateDatabaseStatement.o: SQLCreateDatabaseStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCreateIndexStatement.o: SQLCreateIndexStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCreateTableStatement.o: SQLCreateTableStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCreateTriggerStatement.o: SQLCreateTriggerStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCreateViewStatement.o: SQLCreateViewStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDeleteStatement.o: SQLDeleteStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropIndexStatement.o: SQLDropIndexStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDropUserStatement.o: SQLDropUserStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLExplainStatement.o: SQLExplainStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLGrantStatement.o: SQLGrantStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLConstaintImpl.o: SQLConstaintImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUnique.o: SQLUnique.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLPrimaryKeyImpl.o: SQLPrimaryKeyImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLReleaseSavePointStatement.o: SQLReleaseSavePointStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLRollbackStatement.o: SQLRollbackStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSavePointStatement.o: SQLSavePointStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSelectStatement.o: SQLSelectStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSetStatement.o: SQLSetStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLTruncateStatement.o: SQLTruncateStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUpdateSetItem.o: SQLUpdateSetItem.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUpdateStatement.o: SQLUpdateStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUseStatement.o: SQLUseStatement.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSelectItem.o: SQLSelectItem.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLJoinTableSource.o: SQLJoinTableSource.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSelectGroupByClause.o: SQLSelectGroupByClause.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSelectQueryBlock.o: SQLSelectQueryBlock.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSubqueryTableSource.o: SQLSubqueryTableSource.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUnionOperator.o: SQLUnionOperator.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLUnionQuery.o: SQLUnionQuery.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAggregateExpr.o: SQLAggregateExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAllColumnExpr.o: SQLAllColumnExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAllExpr.o: SQLAllExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLAnyExpr.o: SQLAnyExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLBetweenExpr.o: SQLBetweenExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLBinaryOperator.o: SQLBinaryOperator.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLBinaryOpExpr.o: SQLBinaryOpExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCaseExpr.o: SQLCaseExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCastExpr.o: SQLCastExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLTextLiteralExpr.o: SQLTextLiteralExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCharExpr.o: SQLCharExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCurrentOfCursorExpr.o: SQLCurrentOfCursorExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLDefaultExpr.o: SQLDefaultExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLExistsExpr.o: SQLExistsExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLHexExpr.o: SQLHexExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLInListExpr.o: SQLInListExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLInSubQueryExpr.o: SQLInSubQueryExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLIntegerExpr.o: SQLIntegerExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLMethodInvokeExpr.o: SQLMethodInvokeExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLNCharExpr.o: SQLNCharExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLNotExpr.o: SQLNotExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLNullExpr.o: SQLNullExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLNumberExpr.o: SQLNumberExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLPropertyExpr.o: SQLPropertyExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLSomeExpr.o: SQLSomeExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLUnaryOperator.o: SQLUnaryOperator.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

SQLUnaryExpr.o: SQLUnaryExpr.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


NotNullConstraint.o: NotNullConstraint.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCharactorDataType.o: SQLCharactorDataType.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLCheck.o: SQLCheck.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLColumnCheck.o: SQLColumnCheck.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLColumnPrimaryKey.o: SQLColumnPrimaryKey.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLColumnReference.o: SQLColumnReference.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLColumnUniqueKey.o: SQLColumnUniqueKey.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLForeignKeyImpl.o: SQLForeignKeyImpl.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@


SQLOrderingSpecification.o: SQLOrderingSpecification.cpp
	g++ $(CXXFLAGS) $(INCLUDE) -c $^ -o $@

test: x.o SQLObjectImpl.o SQLCommentHint.o \
	SQLDataTypeImpl.o \
	SQLSelectOrderByItem.o \
	SQLOrderBy.o \
	SQLOver.o \
	SQLTableSourceImpl.o \
	SQLExprTableSource.o \
	SQLDropTableStatement.o \
	SQLDropSequenceStatement.o \
	SQLDropTriggerStatement.o \
	SQLDropViewStatement.o \
	SQLDropDatabaseStatement.o \
	SQLDropFunctionStatement.o \
	SQLDropTableSpaceStatement.o \
	SQLDropProcedureStatement.o \
	SQLIdentifierExpr.o \
	SQLSelect.o \
	SQLWithSubqueryClause.o \
	SQLInsertInto.o \
	SQLValuesClause.o \
	SQLInsertStatement.o \
	SQLListExpr.o \
	SQLQueryExpr.o \
	SQLVariantRefExpr.o \
	SQLColumnDefinition.o \
	SQLAlterTableAddColumn.o \
	SQLAlterTableAddConstraint.o \
	SQLAlterTableAddIndex.o \
	SQLAlterTableAlterColumn.o \
	SQLAlterTableDisableConstraint.o \
	SQLAlterTableDisableKeys.o \
	SQLAlterTableDropColumnItem.o \
	SQLAlterTableDropConstraint.o \
	SQLAlterTableEnableConstraint.o \
	SQLAlterTableEnableKeys.o \
	SQLAlterTableStatement.o \
	SQLAssignItem.o \
	SQLCallStatement.o \
	SQLCommentStatement.o \
	SQLCreateDatabaseStatement.o \
	SQLCreateIndexStatement.o \
	SQLCreateTableStatement.o \
	SQLCreateTriggerStatement.o \
	SQLCreateViewStatement.o \
	SQLDeleteStatement.o \
	SQLDropIndexStatement.o \
	SQLDropUserStatement.o \
	SQLExplainStatement.o \
	SQLGrantStatement.o \
	SQLConstaintImpl.o \
	SQLUnique.o \
	SQLPrimaryKeyImpl.o \
	SQLReleaseSavePointStatement.o \
	SQLRollbackStatement.o \
	SQLSavePointStatement.o \
	SQLSelectStatement.o \
	SQLSetStatement.o \
	SQLTruncateStatement.o \
	SQLUpdateSetItem.o \
	SQLUpdateStatement.o \
	SQLUseStatement.o \
	SQLSelectItem.o \
	SQLJoinTableSource.o \
	SQLSelectGroupByClause.o \
	SQLSelectQueryBlock.o \
	SQLSubqueryTableSource.o \
	SQLUnionOperator.o \
	SQLUnionQuery.o \
	SQLAggregateExpr.o \
	SQLAllColumnExpr.o \
	SQLAllExpr.o \
	SQLAnyExpr.o \
	SQLBetweenExpr.o \
	SQLBinaryOperator.o \
	SQLBinaryOpExpr.o \
	SQLCaseExpr.o \
	SQLCastExpr.o \
	SQLTextLiteralExpr.o \
	SQLCharExpr.o \
	SQLCurrentOfCursorExpr.o \
	SQLDefaultExpr.o \
	SQLExistsExpr.o \
	SQLHexExpr.o \
	SQLInListExpr.o \
	SQLInSubQueryExpr.o \
	SQLIntegerExpr.o \
	SQLMethodInvokeExpr.o \
	SQLNCharExpr.o \
	SQLNotExpr.o \
	SQLNullExpr.o \
	SQLNumberExpr.o \
	SQLPropertyExpr.o \
	SQLSomeExpr.o \
	SQLUnaryOperator.o \
	SQLUnaryExpr.o \
	NotNullConstraint.o \
	SQLCharactorDataType.o \
	SQLCheck.o \
	SQLColumnCheck.o \
	SQLColumnPrimaryKey.o \
	SQLColumnReference.o \
	SQLColumnUniqueKey.o \
	SQLForeignKeyImpl.o \
	SQLOrderingSpecification.o \
	SQLStatementImpl.o
	g++ $^ -o $@

clean:
	rm -rf *.o 

cleanObj:
	rm -rf *.o 
